Generating Integration Test Orders for Aspect Oriented Software with Multi-objective Algorithms
نویسندگان
چکیده
O problema conhecido como CAITO refere-se à determinação de uma ordem para integrar e testar módulos que minimize os custos associados à construção de stubs. Algoritmos de busca, particularmente os algoritmos evolutivos, têm sido utilizados. Entretanto, o problema é bastante complexo e envolve diferentes fatores associados à construção de stubs, tais como diferentes medidas de complexidade, questões contratuais e outros. Estes fatores geralmente conflitam entre si e diferentes soluções para o problema são possíveis. Para lidar adequadamente com este problema, este trabalho explora o uso de algoritmos de otimização multiobjetivos. O artigo apresenta resultados da aplicação de dois algoritmos evolutivos NSGA-II e SPEA2 para o problema CAITO, em quatro sistemas reais implementados em AspectJ. Ambos algoritmos multiobjetivos são avaliados e comparados com o algoritmo de Tarjan e com um algoritmo genético mono-objetivo. Além disto, é apresentado um exemplo de como o testador pode utilizar as soluções obtidas de acordo com suas metas de teste. Abstract: The problem known as CAITO refers to the determination of an order to integrate and test modules that minimizes stubbing costs. Search based algorithms have been used, mainly evolutionary ones. However, the problem is very complex since it involves different factors associated to the stubbing process, such as complexity measures, contractual issues and so on. These factors are usually in conflict and different possible solutions for the problem exist. To deal properly with this problem, this study explores the use of multi-objective optimization algorithms. The paper presents results from the application of two evolutionary algorithms NSGA-II and SPEA2 to the CAITO problem in four real systems, implemented in AspectJ. Both multi-objective algorithms are evaluated and compared with the traditional Tarjan’s algorithm and with a mono-objective genetic algorithm. Moreover, it is shown how the tester can use the found solutions, according to the test goals. The problem known as CAITO refers to the determination of an order to integrate and test modules that minimizes stubbing costs. Search based algorithms have been used, mainly evolutionary ones. However, the problem is very complex since it involves different factors associated to the stubbing process, such as complexity measures, contractual issues and so on. These factors are usually in conflict and different possible solutions for the problem exist. To deal properly with this problem, this study explores the use of multi-objective optimization algorithms. The paper presents results from the application of two evolutionary algorithms NSGA-II and SPEA2 to the CAITO problem in four real systems, implemented in AspectJ. Both multi-objective algorithms are evaluated and compared with the traditional Tarjan’s algorithm and with a mono-objective genetic algorithm. Moreover, it is shown how the tester can use the found solutions, according to the test goals. ∗This is an extended version of the paper that appeared at LA-WASP 2011 (V Latin American Workshop on AspectOriented Software Development and has been recommended to RITA.) 1Computer Science Department, Federal University of Paraná (UFPR), CP:19081, CEP: 19031-970, Paraná, Brazil {wesleyk, silvia, aurora}@inf.ufpr.br 2Computer Science Department, State University of Maringá (UEM), Paraná, Brazil [email protected] Generating Integration Test Orders for Aspect-Oriented Software with Multi-objective Algorithms
منابع مشابه
Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs
A problem related to the integration test of object-oriented programs is the order that classes are integrated and tested. This problem also appears in aspect-oriented programs. The incremental integration strategy, which suggests that classes are tested first and then integrated to the aspects, is often proposed as the more adequate strategy to integrate classes and aspects. This work presents...
متن کاملA Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem
In the context of Object-Oriented software, many works have investigated the Class Integration and Test Order (CITO) problem, proposing solutions to determine test orders for the integration test of the program classes. The existing approaches based on graphs can generate solutions that are sub-optimal, and do not consider the different factors and measures that can affect the stubbing process....
متن کاملMEng Individual Project Aspect Oriented Design for Dataflow Engines
Dataflow designs implemented on custom streaming architectures can be orders of magnitudes more efficient than traditional software, but they are developed with reduced productivity. We propose a novel design flow for generating dataflow designs based on Aspect-oriented programming and explain how the proposed approach can be used to decouple design optimisation from design specification by enc...
متن کاملAspect-Oriented Code Generation for Integration of Aspect Orientation and Model-Driven Engineering
Software development can be improved from many perspectives by combining aspect orientation and model-driven engineering techniques. At a higher level, they can be integrated in two different ways: (1) by handling specifics of aspect orientation at modeling level and later generating object-oriented code, or (2) by transforming an aspect model directly into aspect-oriented code. The latter appr...
متن کاملDecompositional Algorithms for Safety Verification and Testing of Aspect-Oriented Systems
To efficiently solve safety verification and testing problems for an aspect-oriented system, we use multitape automata to model aspects and propose algorithms for the aspect-oriented system specified by a number of primary labeled transition systems (some of them are black-boxes) and aspects. Our algorithms combine automata manipulations over the aspects and primary systems with black-box testi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- RITA
دوره 20 شماره
صفحات -
تاریخ انتشار 2013